1. Field of the Invention
The present invention is related to hardware-assisted program tracing, and more specifically to a processor and method that capture a call signature when a specified root instruction is executed, and optionally when the call signature also has a specified value.
2. Description of Related Art
Run-time program tracing software provides valuable insight as to the actual patterns of execution encountered during program execution. Such information can be used to selectively optimize program code and to inform developers of actual run-time conditions. Information gathered by profiling programs that study program execution can be used by systems' processes to adapt pre-fetching and for run-time optimization of program code organization and storage.
Hardware mechanisms have been used to assist in program tracing, such a branch history table (BHT) storage. The function of the BHT is to identify the program path leading up to an event, such as an interrupt, by including the addresses of the most-recent branch instructions for which the branch was taken leading up to the event. Software subsequently reads the BHT in order to identify the program path leading up to the event.
However, specific hardware mechanisms to support program tracing along specific program paths are not generally present in today's processors.
Therefore, it would be desirable to provide a processor and software that can cooperate to facilitate program tracing and profiling.